package com.fdd.op.sdk.request.api.template.signtask;

import com.fdd.op.sdk.ApiRuleException;
import com.fdd.op.sdk.BaseFddRequest;
import com.fdd.op.sdk.constants.Constants;
import com.fdd.op.sdk.internal.mapping.RequestField;
import com.fdd.op.sdk.model.dto.RelationDocDTO;
import com.fdd.op.sdk.model.dto.RoleDetailsDTO;
import com.fdd.op.sdk.model.vo.WidgetValueVo;
import com.fdd.op.sdk.response.api.template.signtask.CreateResponse;

import java.util.List;
import java.util.Map;

public class CreateRequest extends BaseFddRequest<CreateResponse> {
    @Override
    public String getApiMethodName() {
        return "/base/api/template/signTask/create";
    }

    @Override
    public Map<String, Object> getTextParams() {
        return null;
    }

    @Override
    public Class<CreateResponse> getResponseClass() {
        return CreateResponse.class;
    }

    @Override
    public void check() throws ApiRuleException {

    }

    @Override
    public String getHttpMethod() {
        return Constants.METHOD_POST;
    }

    @RequestField("文档主题")
    private String docTitle;

    @RequestField
    private String tpDocId;

    @RequestField
    private String templateNo;

    @RequestField
    private String senderAccountId;

    @RequestField
    private String senderMobile;

    @RequestField
    private String senderAreaCode;

    @RequestField
    private String tpSenderAccountId;

    @RequestField
    private String senderEmail;

    @RequestField
    private String companyId;

    @RequestField
    private String companyName;

    @RequestField
    private String tpOrgId;

    @RequestField
    private Integer isSort = 1;

    @RequestField
    private String expireDate;

    @RequestField
    private String signDeadline;

    @RequestField
    private List<RoleDetailsDTO> roleDetails;

    @RequestField
    private List<WidgetValueVo> widgetValues;

    @RequestField
    private String notifyUrl;

    @RequestField
    private String notifyUrlAccessCode;

    @RequestField(value = "关联文档")
    private RelationDocDTO relationDocs;

    @RequestField
    private String remark;

    public String getDocTitle() {
        return docTitle;
    }

    public void setDocTitle(String docTitle) {
        this.docTitle = docTitle;
    }

    public String getTpDocId() {
        return tpDocId;
    }

    public void setTpDocId(String tpDocId) {
        this.tpDocId = tpDocId;
    }

    public String getTemplateNo() {
        return templateNo;
    }

    public void setTemplateNo(String templateNo) {
        this.templateNo = templateNo;
    }

    public String getSenderAccountId() {
        return senderAccountId;
    }

    public void setSenderAccountId(String senderAccountId) {
        this.senderAccountId = senderAccountId;
    }

    public String getSenderMobile() {
        return senderMobile;
    }

    public void setSenderMobile(String senderMobile) {
        this.senderMobile = senderMobile;
    }

    public String getSenderAreaCode() {
        return senderAreaCode;
    }

    public void setSenderAreaCode(String senderAreaCode) {
        this.senderAreaCode = senderAreaCode;
    }

    public String getTpSenderAccountId() {
        return tpSenderAccountId;
    }

    public void setTpSenderAccountId(String tpSenderAccountId) {
        this.tpSenderAccountId = tpSenderAccountId;
    }

    public String getSenderEmail() {
        return senderEmail;
    }

    public void setSenderEmail(String senderEmail) {
        this.senderEmail = senderEmail;
    }

    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getTpOrgId() {
        return tpOrgId;
    }

    public void setTpOrgId(String tpOrgId) {
        this.tpOrgId = tpOrgId;
    }

    public Integer getIsSort() {
        return isSort;
    }

    public void setIsSort(Integer isSort) {
        this.isSort = isSort;
    }

    public String getExpireDate() {
        return expireDate;
    }

    public void setExpireDate(String expireDate) {
        this.expireDate = expireDate;
    }

    public String getSignDeadline() {
        return signDeadline;
    }

    public void setSignDeadline(String signDeadline) {
        this.signDeadline = signDeadline;
    }

    public List<RoleDetailsDTO> getRoleDetails() {
        return roleDetails;
    }

    public void setRoleDetails(List<RoleDetailsDTO> roleDetails) {
        this.roleDetails = roleDetails;
    }

    public List<WidgetValueVo> getWidgetValues() {
        return widgetValues;
    }

    public void setWidgetValues(List<WidgetValueVo> widgetValues) {
        this.widgetValues = widgetValues;
    }

    public String getNotifyUrl() {
        return notifyUrl;
    }

    public void setNotifyUrl(String notifyUrl) {
        this.notifyUrl = notifyUrl;
    }

    public String getNotifyUrlAccessCode() {
        return notifyUrlAccessCode;
    }

    public void setNotifyUrlAccessCode(String notifyUrlAccessCode) {
        this.notifyUrlAccessCode = notifyUrlAccessCode;
    }

    public RelationDocDTO getRelationDocs() {
        return relationDocs;
    }

    public void setRelationDocs(RelationDocDTO relationDocs) {
        this.relationDocs = relationDocs;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
}
